package org.nmgyjt.springboot.beans.admin;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.nmgyjt.springboot.beans.dto.BusAuthUserAddDto;

import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.Pattern;
import java.util.List;

@ApiModel("管理员创建对象")
@Data
public class CsSystemAdminCreateBean extends CsSystemSourceExtCreateBean {

    @ApiModelProperty(required = true, value = "管理员记录 ID", dataType = "string")
    private String id;

    @ApiModelProperty(required = true, value = "管理员姓名", dataType = "string")
    @NotEmpty(message = "姓名为必填项")
    private String name;

    @ApiModelProperty(required = false, value = "管理员用户 ID", dataType = "string")
    private String userId;

    // @NotEmpty(message = "管理员的单位/组织名称为必填项")
    @ApiModelProperty(required = true, value = "管理员的单位/组织名称", dataType = "string")
    private String orgName;

    @NotEmpty(message = "管理员的职务为必填项")
    @ApiModelProperty(required = true, value = "管理员的职务", dataType = "string")
    private String job;

    @ApiModelProperty(required = false, value = "管理员的科室/机构下的内设机构", dataType = "string")
    private String office;

    @NotEmpty(message = "手机号码为必填项")
    @Pattern(regexp = "^(13[0-9]|14[01456879]|15[0-35-9]|16[2567]|17[0-8]|18[0-9]|19[0-35-9])\\d{8}$", message = "手机号码格式不对")
    @ApiModelProperty(required = true, value = "手机号码", dataType = "string")
    private String phone;

    //@NotEmpty(message = "前端传参菜单名称不允许为空")
    @ApiModelProperty(required = true, value = "菜单名称", dataType = "string")
    private String menuName;

    //@NotEmpty(message = "前端传参菜单名称不允许为空")
    @ApiModelProperty(required = true, value = "菜单名称", dataType = "string")
    private String menuID;

    @ApiModelProperty(required = true, value = "行政区划编码(当前登陆管理员的行政区划编码)", dataType = "string")
    private String areaCode;

    @ApiModelProperty(required = false, value = "行政区划名称(指挥体系是必须传)", dataType = "string")
    private String areaName;

    @ApiModelProperty(required = true, value = "创建人的账号(当前登陆管理员的手机号)", dataType = "string")
    private String createdBy;

    private String createdByName;

    @ApiModelProperty(required = false, value = "是否是领导", dataType = "string")
    private Integer isLeader = 0;

    @ApiModelProperty(required = true, value = "管理员的所在单位", dataType = "string")
    private String workUnit;

    @ApiModelProperty(required = false, value = "资源管理员的类型:2-总管理员;3-分管理员", dataType = "string")
    private String pageType;

    @ApiModelProperty(required = false, value = "管理员管理的部门 ID", dataType = "string")
    private String orgId;

    @ApiModelProperty(required = false, value = "可添加最大人数", dataType = "integer")
    private Integer maxUserNumber = 0;

    @ApiModelProperty(required = false, value = "预设成员单位信息对象", dataType = "string")
    private List<CsSystemOrgPreSetBean> preSetOrgInfos;


   @ApiModelProperty(required = false, value = "浏览器ip", dataType = "string")
    private String ip;

}
